package map;

import java.util.HashMap;
import java.util.Map;

public class MapDemo1 {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        /*
        V put(K key, V value)
        向map中添加一组键值对
        因为Nap要求key不允许重复，所以如果使用重复的key存入value时则是替换value操作，
        被替换的value会通过put方法的返回值返回。
        如果时第一次存入，则返回值为null
        */
        Integer value = map.put("语文", 100);//第一次存入"语文"这个Key
        System.out.println(value);//返回值为null
        map.put("数学", 98);
        map.put("英语", 97);
        map.put("物理", 96);
        map.put("化学", 99);
        System.out.println(map);
        map.put("物理", 50);//第二次存入Key"物理"会替换对应的value
        System.out.println(map);
        System.out.println(value);//”物理“原来对于的值：96

        value = map.get("物理");
        System.out.println(value);
        value = map.get("体育");//没有元素是返回就是null
        System.out.println(value);

        int size = map.size();
        System.out.println("size:" + size);
        /*
        V remove(Object key)
        删除指定key对应的键值对，返回值为则个key对应的value
         */
        map.remove("数学");
        System.out.println(map);
        System.out.println(value);

        //判断是否为空map
        boolean isEmpty = map.isEmpty();
        System.out.println("isEmpty：" + isEmpty);
        //判断Map是否包含指定的key或value
        boolean containsKey = map.containsKey("数学");
        System.out.println("containsKey：" + containsKey);
        boolean containsValue = map.containsValue(98);
        System.out.println("containsValue：" + containsValue);
        //清空Map
        map.clear();
        System.out.println(map);
    }
}
